package com.ssy.lingxi.system.dto.request;

import io.swagger.annotations.ApiModelProperty;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;

/**
* 会员等级添加
* @author wrc
* @date 2020/6/5
*/
public class MemberGradeAddRequest {


    @NotNull(message = "会员等级为整数类型，且不能为空")
    @Min(value = 1, message = "会员等级为整数类型，最小为1级")
    @Max(value = 999999, message = "会员等级为整数类型，且不能超过6个字符")
    @ApiModelProperty("会员等级")
    private Integer memberGrade;

    @NotNull(message = "会员等级标签不能为空")
    @Length(max = 16,message = "会员等级标签不能超过8个汉字")
    @ApiModelProperty("会员等级标签")
    private String memberGradeLabel;

    @NotNull(message = "会员等级类型:1.平台会员、2.商户会员、3.渠道会员")
    @Min(value = 1, message = "会员等级类型:1.平台会员、2.商户会员、3.渠道会员")
    @Max(value = 3, message = "会员等级类型:1.平台会员、2.商户会员、3.渠道会员")
    @ApiModelProperty("会员等级类型:1.平台会员、2.商户会员、3.渠道会员")
    private Integer memberType;

    @NotNull(message = "升级分值标签不能为空")
    @Length(max = 16,message = "升级分值标签不能超过8个汉字")
    @ApiModelProperty("升级分值标签")
    private String scoreLabel;

    @Length(max = 80,message = "最长80个字符，40个汉字")
    @ApiModelProperty("会员等级说明")
    private String gradeExplain;

    @NotEmpty(message = "关联的角色不能为空")
    @ApiModelProperty("角色ID列表")
    private List<Long> roleIds;

    public Integer getMemberGrade() {
        return memberGrade;
    }

    public void setMemberGrade(Integer memberGrade) {
        this.memberGrade = memberGrade;
    }

    public String getMemberGradeLabel() {
        return memberGradeLabel;
    }

    public void setMemberGradeLabel(String memberGradeLabel) {
        this.memberGradeLabel = memberGradeLabel;
    }

    public Integer getMemberType() {
        return memberType;
    }

    public void setMemberType(Integer memberType) {
        this.memberType = memberType;
    }

    public String getScoreLabel() {
        return scoreLabel;
    }

    public void setScoreLabel(String scoreLabel) {
        this.scoreLabel = scoreLabel;
    }

    public String getGradeExplain() {
        return gradeExplain;
    }

    public void setGradeExplain(String gradeExplain) {
        this.gradeExplain = gradeExplain;
    }

    public List<Long> getRoleIds() {
        return roleIds;
    }

    public void setRoleIds(List<Long> roleIds) {
        this.roleIds = roleIds;
    }
}
